package io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class FISDemo {
    public static void main(String[] args) throws IOException {
        /*
        FileOutputStream（String fileName）
        FileOutputStream（File file）
        上述两种构造器创建文件输入流时，如果参数表达的是一个文件则可以正常实例化

        */
        FileInputStream fis=new FileInputStream("fos.dat");
        /*
        InputStream超累上定义了一个读取一个字节的方法（所有的字节输入流都具备该方法）
        int read（）：读取一个字节，并以int形式返回
        1）返回的int值对应的2进制只有“低八位”是有效的，高24位全补0
        2）如果该方法返回的int值位1（32个·1）
        第一次调用：int d=fis.read（）;
        fos.dat的数据：
        00000001 00000010文件末尾
        ^^^^^^^^
        读取的字节
        此时变量d对应的2进制样子：00000000 00000000 00000000 00000001
                                |------补充了24个0-------| 读取的字节
        第2次调用：d=fis.read（）;
        fos.dat的数据：
        00000001 00000010文件末尾
                 ^^^^^^^^
        此时变量d对应的2进制样子：00000000 00000000 00000000 00000010
                                |------补充了24个0-------| 读取的字节
        第3次调用：d=fis.read（）; //读取到了文件末尾
        fos.dat的数据：
        00000001 00000010 文件末尾
                          ^^^^^^^^

        此时变量d对应的2进制样子：11111111 11111111 11111111 11111111
                                |-----------补充了32个1------------|
        */
        int d=fis.read();//读取第一个字节
        System.out.println(d);//输出10进制数据：1
        /*d=fis.read();//又读取了一个字节
        System.out.println(d);//输出10进制数据：2

        d=fis.read();
        System.out.println(d);*/
        fis.close();
    }
}
